This invention relates, in general, to Liquid Crystal Display (LCD) drivers, and more specifically, to LCD scrolling mechanisms.
LCDs are controlled by a number of LCD drivers. These drivers include the backplane driver(s) which activates, with a high voltage signal, a row(s) on the LCD which is to be displayed, and further includes generally two or more segment drivers. The segment drivers control what information is to be displayed in the rows of the LCD. Therefore, when a row of information is to be displayed on the LCD, it is stored/organized in the segment driver by commands from a micro-control unit (MCU) and displayed in the appropriate LCD row via the operation of the backplane driver.
Often while operating a LCD, information must be scrolled up or down on the screen any given number of rows. Almost all segment drivers having built in RAM (random access memory) can perform this scrolling function in a very simple manner.
Generally, each LCD system with built-in RAM segment drivers receives a frame signal (FRM) and a backplane clock signal (BPCLK). The FRM signal operates to set a counter within the segment driver to an initial value. Each BPCLK signal or pulse operates to advance the counter by one up to a predetermined value, whereupon another FRM signal is received.
In operation, if the FRM signal sets the counter to zero, row zero of the RAM is fetched into display. At the first BPCLK signal row one of the RAM is fetched into display and so on until the next FRM signal is received. If, however, the counter initially loads a one as the initial number rather than a zero, row one will be displayed rather than row zero. Row two will be displayed upon the first BPCLK pulse rather than row one, and so on until row zero of the RAM is shown followed by the next FRM. In this manner the image is effectively scrolled by one dot line (row).
Although the scrolling by prior art scrolling mechanisms is effective, such scrolling is not user friendly. Physically on the LCD screen row zero of the RAM is in the top row of the LCD screen. The MCU is required to keep track of the location of each row of data in relation to each scrolled row on the screen. As a result, the MCU must continually track the vertical scrolling and carefully update the segment driver counters. Additionally, if the RAM is oriented into byte-row form instead of bit-row form, smooth vertical scrolling becomes even more tedious.